SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE Procedure [dbo].[SP_TCMOVI_CAJA_I08]      
/*-------------------------------------------------------*/      
/*---Empresa              : OFISIS S.A.                --*/      
/*---Cliente              : NUEVO MUNDO                 --*/      
/*---Sistema              : Tesoreria                  --*/      
/*---M÷dulo               : Empresa                    --*/      
/*---Programa             : Generaci½n de Cancelaciones por Caja */      
/*---Script               : tcreno_clie.sql            --*/      
/*---Nombre SP            : SP_TCMOVI_CAJA_I08         --*/      
/*---Desarrollado por     : Reynaldo Menacho Luyo      --*/      
/*---Fecha Creaci÷n       : 30/12/2003                 --*/      
/*---Base Datos           : Microsoft Sql Server       --*/      
/*---Versi÷n              : 2000                       --*/      
/*---Invoca a SP          :                            --*/      
/*-------------------------------------------------------*/      
      
/*-------------------------------------------------------*/      
/*---Modificado 1 por     :                            --*/      
/*---Fecha Modificaci÷n   :                            --*/       
/*---Detalle Modificaci÷n :                            --*/      
/*-------------------------------------------------------*/      
      
/*-------------------------------------------------------*/      
/*---Comentarios                                       --*/      
/*---                                                  --*/      
/*---                                                  --*/      
/*-------------------------------------------------------*/      
      
/*-------------------------------------------------------*/      
/*---Drop Proc SP_TCMOVI_CAJA_I08                      --*/      
/*--- Grant all on SP_TCMOVI_CAJA_I08 to public         --*/       
/*--- SP_TCMOVI_CAJA_I08 '01', 'OFISIS', '001', '00000000008', '00500005', '2003/10/15'    --*/      
/*-------------------------------------------------------*/      
@ISCO_EMPR TD_VC_002,      
@ISCO_USUA_MODI TD_VC_008,      
@ISCO_UNID_CONC TD_VC_003,      
@ISCO_CLIE TD_VC_020,      
@ISNU_RENO TD_VC_008,      
@IDFE_RENO TD_DT_001
	As
DECLARE      
@OSTI_DOCU_LETR TD_VC_003,      
      
@CSCO_TIPO_DOCU TD_VC_003,      
@CSNU_DOCU_CLIE TD_VC_020,      
@CSCO_TIPO_OPER TD_VC_003,      
@CSCO_ESTA_DOCU TD_VC_003,      
@CSCO_MONE TD_VC_003,      
@CNIM_SALD_DOCU TD_NU_016_004,      
@CNIM_RENO_MDOC TD_NU_016_004,      
@CNFA_TIPO_CAMB TD_NU_015_006,      
@CDFE_EMIS TD_DT_001,      
@CNIM_TOTA_DOCU TD_NU_016_004,      
      
@VNNU_FETC TD_IN_001,      
@VSCO_CAJA TD_VC_020,      
@VSAA_CAJA TD_VC_004,      
@VSMM_CAJA TD_VC_002,      
@VSCO_TIPO_OPER TD_VC_003,      
@VSST_ASTO_RESU TD_VC_001,      
@VSNU_COMP_CAJA TD_VC_008,      
@VSDE_ENTI TD_VC_100,      
@VSTI_CORR_INEG TD_VC_001,      
@VNUL_CORR_INGR TD_IN_001,      
@VNUL_CORR_INEG TD_IN_001,      
@VNNU_SECU  TD_IN_001,      
@VNIM_CANC TD_NU_016_004,      
@VSDE_OBSE TD_VC_100      
      
EXEC SP_TTDOCU_CNTB_Q01 6, @OSTI_DOCU_LETR OUTPUT      
      
SELECT @VNNU_SECU = 0      
      
Begin Tran TCMOVI_CAJA_I08      
      
Declare CU_TCMOVI_CAJA_I08_1 Cursor      
For      
      
SELECT T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, T1.CO_ESTA_ORIG, T2.CO_MONE, T1.IM_SALD_DOCU, T1.IM_RENO_MDOC, T4.FA_TIPO_CAMB,      
T2.FE_EMIS, T2.IM_TOTA, T4.CO_TIPO_OPER      
FROM TDRENO_CLIE T1, TCRENO_CLIE T4, TMLETR_CLIE T2, TTTIES_DOCU T5      
WHERE T1.CO_EMPR = @ISCO_EMPR      
AND T1.CO_UNID_CONC = @ISCO_UNID_CONC      
AND T1.CO_CLIE = @ISCO_CLIE      
AND T1.NU_RENO = @ISNU_RENO      
AND T1.FE_RENO = @IDFE_RENO      
AND T1.CO_TIPO_DOCU IS NOT NULL      
AND T1.CO_TIPO_DOCU = @OSTI_DOCU_LETR      
AND T1.IM_SALD_DOCU > T1.IM_RENO_MDOC      
AND T1.CO_EMPR = T4.CO_EMPR      
AND T1.CO_UNID_CONC = T4.CO_UNID_CONC      
AND T1.CO_CLIE = T4.CO_CLIE      
AND T1.NU_RENO = T4.NU_RENO      
AND T1.FE_RENO = T4.FE_RENO      
AND T1.CO_EMPR = T2.CO_EMPR      
AND T1.CO_EMPR = T2.CO_EMPR      
AND T1.CO_CLIE = T2.CO_CLIE      
AND T1.CO_TIPO_DOCU = @OSTI_DOCU_LETR      
AND T1.NU_DOCU_CLIE = T2.NU_LETR_CLIE      
AND T1.CO_ESTA_ORIG = T5.CO_ESTA_DOCU    
AND (T5.ST_ESDO_0009 = 'S' OR T5.ST_ESDO_0010 = 'S')      
      
Open  CU_TCMOVI_CAJA_I08_1      
Fetch CU_TCMOVI_CAJA_I08_1 Into      
@CSCO_TIPO_DOCU, @CSNU_DOCU_CLIE, @CSCO_ESTA_DOCU, @CSCO_MONE, @CNIM_SALD_DOCU, @CNIM_RENO_MDOC, @CNFA_TIPO_CAMB,      
@CDFE_EMIS, @CNIM_TOTA_DOCU, @CSCO_TIPO_OPER      
      
Select @VNNU_FETC = @@FETCH_STATUS      
      
While (@VNNU_FETC = 0)      
  Begin      
    If (@VNNU_FETC  < 0)      
       Begin      
    --RAISERROR 20001 "FIN DE ARCHIVO"      
    CLOSE CU_TCMOVI_CAJA_I08_1      
    DEALLOCATE CU_TCMOVI_CAJA_I08_1      
    RETURN      
       End      
      
 SELECT @VSCO_CAJA = CO_CAJA, @VSTI_CORR_INEG = TI_CORR_INEG      
 FROM TMCAJA      
 WHERE CO_EMPR = @ISCO_EMPR      
 AND CO_MONE = @CSCO_MONE      
 AND ST_DSCT = 'S'      
      
 SELECT @VSAA_CAJA = CONVERT(VARCHAR(4), YEAR(@IDFE_RENO)),      
        @VSMM_CAJA = REPLICATE('0', 2 - LEN(CONVERT(VARCHAR(2), MONTH(@IDFE_RENO)))) + CONVERT(VARCHAR(2), 
MONTH(@IDFE_RENO))      
       
 SELECT @VSCO_TIPO_OPER = CO_TIOP_CANC      
 FROM TRTIOP_RNCN      
 WHERE CO_EMPR = @ISCO_EMPR      
 AND CO_TIOP_RENO = @CSCO_TIPO_OPER      
      
 SELECT @VSST_ASTO_RESU = T1.ST_ASTO_RESU      
 FROM TMOPRC_RESU T1, TDTIPO_OPER T2      
 WHERE T1.CO_EMPR = @ISCO_EMPR      
 AND T1.CO_EMPR = T2.CO_EMPR      
 AND T2.CO_TIPO_OPER = @VSCO_TIPO_OPER      
 AND T1.CO_OPRC_CNTB = T2.CO_OPRC_CNTB      
      
 SELECT @VSNU_COMP_CAJA = ''      
      
 SELECT @VSDE_ENTI = NO_AUXI      
 FROM TMAUXI_EMPR      
 WHERE CO_EMPR = @ISCO_EMPR      
 AND TI_AUXI_EMPR = 'C'      
 AND CO_AUXI_EMPR = @ISCO_CLIE      
      
 SELECT @VNUL_CORR_INGR = UL_CORR_INGR, @VNUL_CORR_INEG = UL_CORR_INEG      
 FROM TMSACA_MENS      
 WHERE CO_EMPR = @VSCO_CAJA      
 AND CO_CAJA = @VSCO_CAJA      
 AND AA_CAJA = @VSAA_CAJA      
 AND MM_CAJA = @VSMM_CAJA      
      
 SELECT @VNNU_SECU = @VNNU_SECU + 1, @VNIM_CANC = @CNIM_SALD_DOCU - @CNIM_RENO_MDOC, @VSDE_OBSE = 'RENOVACION ' + 
@ISNU_RENO      
      
 /*----------- INSERTO LA CABECERA DE CAJA ------------------*/      
      
 EXEC SP_TCMOVI_CAJA_I11 @ISCO_EMPR, @ISCO_USUA_MODI, @VSCO_CAJA, @VSAA_CAJA, @VSMM_CAJA, 'I',       
 @IDFE_RENO, @VSCO_TIPO_OPER, NULL, @CNFA_TIPO_CAMB, @VNIM_CANC, 'C', @ISCO_CLIE,       
 @VSDE_ENTI, @VSDE_OBSE, @VSTI_CORR_INEG, @VNUL_CORR_INGR, @VNUL_CORR_INEG, NULL,       
 @ISCO_UNID_CONC, NULL, NULL, @VSST_ASTO_RESU, @CSCO_TIPO_DOCU, @CSNU_DOCU_CLIE, @VSNU_COMP_CAJA OUTPUT      
      
 /*----------- INSERTO EL DETALLE DEL MOVIMIENTO ------------------*/      
      
 EXEC SP_TDMOVI_CAJA_I03 @ISCO_EMPR, @ISCO_USUA_MODI, @VSCO_CAJA, @VSAA_CAJA, @VSMM_CAJA, 'I', @VSNU_COMP_CAJA,       
   NULL, 'C', @ISCO_CLIE, @CSCO_TIPO_DOCU, @CSNU_DOCU_CLIE, @CSCO_MONE, @CDFE_EMIS, @CNIM_TOTA_DOCU,      
 @VNIM_CANC, @VNIM_CANC, @CNIM_TOTA_DOCU, '',      
 'S', @VNIM_CANC, @OSTI_DOCU_LETR, @CNFA_TIPO_CAMB, @CSCO_MONE, @VNIM_CANC,      
 NULL, NULL, NULL, NULL, NULL, NULL      
      
 /*----------- INSERTO EL TABLA RELACION RENOVACION - CAJA ------------------*/      
      
 INSERT INTO TRRENO_CAJA( CO_EMPR, CO_UNID_CONC, CO_CLIE, NU_RENO, FE_RENO, NU_SECU, FA_TIPO_CAMB, CO_TIOP_RENO,       
 CO_CAJA, AA_CAJA, MM_CAJA, NU_COMP_CAJA, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_TIOP_CAJA, TI_SITU, CO_USUA_CREA,FE_USUA_CREA, 
CO_USUA_MODI, FE_USUA_MODI)      
 VALUES(@ISCO_EMPR, @ISCO_UNID_CONC, @ISCO_CLIE, @ISNU_RENO, @IDFE_RENO, @VNNU_SECU, @CNFA_TIPO_CAMB, @CSCO_TIPO_OPER,       
 @VSCO_CAJA, @VSAA_CAJA, @VSMM_CAJA, @VSNU_COMP_CAJA, @CSCO_TIPO_DOCU, @CSNU_DOCU_CLIE, @VSCO_TIPO_OPER, 'ACT', 
@ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE())       
      
      
      
      /* Inicializo variables de trabajo e insercciön */      
      
      
      
     Fetch CU_TCMOVI_CAJA_I08_1 Into      
     @CSCO_TIPO_DOCU, @CSNU_DOCU_CLIE, @CSCO_ESTA_DOCU, @CSCO_MONE, @CNIM_SALD_DOCU, @CNIM_RENO_MDOC, @CNFA_TIPO_CAMB,      
     @CDFE_EMIS, @CNIM_TOTA_DOCU, @CSCO_TIPO_OPER      
     
    SELECT @VNNU_FETC = @@FETCH_STATUS      
      
  End      
      
CLOSE CU_TCMOVI_CAJA_I08_1      
DEALLOCATE CU_TCMOVI_CAJA_I08_1      
      
Commit Tran TCMOVI_CAJA_I08      
      
/*----------------------------------------------FIN----------------------------------------*/


GO
